<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>layuiAdmin 后台管理员</title>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport"
    content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <link rel="stylesheet" href="__PUBLIC__/layuiadmin/layui/css/layui.css" media="all">
  <link rel="stylesheet" href="__PUBLIC__/layuiadmin/style/admin.css" media="all">
</head>

<body>

  <div class="layui-fluid">
    <div class="layui-card">
      <div class="layui-form layui-card-header layuiadmin-card-header-auto">
        <div class="layui-form-item">
          <div class="layui-inline">
            <label class="layui-form-label">登录名</label>
            <div class="layui-input-block">
              <input type="text" name="user_name" placeholder="请输入" autocomplete="off" class="layui-input">
            </div>
          </div>
          <div class="layui-inline">
            <label class="layui-form-label">手机</label>
            <div class="layui-input-block">
              <input type="text" name="mobile" placeholder="请输入" autocomplete="off" class="layui-input">
            </div>
          </div>
          <div class="layui-inline">
            <label class="layui-form-label">邮箱</label>
            <div class="layui-input-block">
              <input type="text" name="email" placeholder="请输入" autocomplete="off" class="layui-input">
            </div>
          </div>
          <div class="layui-inline">
            <button class="layui-btn layuiadmin-btn-admin" lay-submit lay-filter="LAY-user-back-search">
              <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
            </button>
          </div>
        </div>
      </div>

      <div class="layui-card-body">
        <div style="padding-bottom: 10px;">
          <button class="layui-btn layuiadmin-btn-admin" data-type="batchdel">删除</button>
          <button class="layui-btn layuiadmin-btn-admin" data-type="add">添加</button>
        </div>

        <table id="LAY-user-back-manage" lay-filter="LAY-user-back-manage"></table>
        <script type="text/html" id="table-useradmin-admin">
          <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
          <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
        </script>
      </div>
    </div>
  </div>

  <script src="__PUBLIC__/layuiadmin/layui/layui.js"></script>
  <script>
    layui.config({
      base: '__PUBLIC__/layuiadmin/' //静态资源所在路径
    }).extend({
      index: 'lib/index' //主入口模块
    }).use(['index', 'table'], function () {
      var $ = layui.$
        , form = layui.form
        , table = layui.table;

      //管理员管理
      table.render({
        elem: '#LAY-user-back-manage'
        , page: true //开启分页
        , url: "{:U('Admin/User/index',array('render'=>'1'))}" //接口
        , cols: [[
          { type: 'checkbox', fixed: 'left' }
          , { field: 'id', width: 80, title: 'ID', sort: true }
          , { field: 'user_name', title: '登录名' }
          , { field: 'mobile', title: '手机' }
          , { field: 'email', title: '邮箱' }
          , { field: 'role', title: '角色' }
          , { field: 'create_time', title: '加入时间', sort: true }
          , { title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#table-useradmin-admin' }
        ]]
        , text: '对不起，加载出现异常！'
      });

      //监听搜索
      form.on('submit(LAY-user-back-search)', function (data) {
        var field = data.field;

        //执行重载
        table.reload('LAY-user-back-manage', {
          where: field
        });
      });

      //事件
      var active = {
        batchdel: function () {
          var checkStatus = table.checkStatus('LAY-user-back-manage')
            , checkData = checkStatus.data; //得到选中的数据

          if (checkData.length === 0) {
            return layer.msg('请选择数据');
          }
          console.log(checkData)

          layer.confirm('确定删除吗？', function (index) {
            var ids = [];
            for(var i in checkData) {  
                ids.push(checkData[i].id);
            };
            
            //执行 Ajax 后重载
            $.ajax({
              url: "{:U('Admin/User/batchdel')}",
              type: 'post',
              data: {ids:ids},
              success: function (re) {
                if (re.code == 0) {
                  layer.msg(re.msg, { icon: 6 });
                  table.reload('LAY-user-back-manage'); //数据刷新
                  layer.close(index); //关闭弹层
                } else {
                  layer.msg(re.msg, { icon: 5 });
                }
              }
            });
          });

        }
        , add: function () {
          layer.open({
            type: 2
            , title: '添加管理员'
            , content: "{:U('Admin/User/add')}"
            , area: ['600px', '600px']
            , btn: ['确定', '取消']
            , yes: function (index, layero) {
              var iframeWindow = window['layui-layer-iframe' + index]
                , submitID = 'LAY-user-back-submit'
                , submit = layero.find('iframe').contents().find('#' + submitID);

              //监听提交
              iframeWindow.layui.form.on('submit(LAY-user-back-submit)', function (data) {
                var field = data.field; //获取提交的字段
                //提交 Ajax 成功后，静态更新表格中的数据
                $.ajax({
                  url: "{:U('Admin/User/add')}",
                  type: 'post',
                  data: field,
                  success: function (re) {
                    if (re.code == 0) {
                      layer.msg(re.msg, { icon: 6 });
                      table.reload('LAY-user-back-manage'); //数据刷新
                      layer.close(index); //关闭弹层
                    } else {
                      layer.msg(re.msg, { icon: 5 });
                    }
                  }
                });

              });

              submit.trigger('click');
            }
          });
        }
      }

      //监听工具条
      table.on('tool(LAY-user-back-manage)', function (obj) {
        var data = obj.data;
        if (obj.event === 'del') {
          layer.confirm('确定删除此管理员？', function (index) {
            console.log(obj)
            $.ajax({
              url: "{:U('Admin/User/del')}",
              type: 'post',
              data: {id:data.id},
              success: function (re) {
                if (re.code == 0) {
                  layer.msg(re.msg, { icon: 6 });
                  // table.reload('LAY-user-back-manage'); //数据刷新
                  obj.del();
                  layer.close(index); //关闭弹层
                } else {
                  layer.msg(re.msg, { icon: 5 });
                }
              }
            });
          });
        } else if (obj.event === 'edit') {
          var url = "{:U('Admin/User/edit',array('id'=>'data.id'))}";
          url =  url.replace("data.id",data.id);
          layer.open({
            type: 2
            , title: '编辑管理员'
            , content: url
            , area: ['600px', '600px']
            , btn: ['确定', '取消']
            , yes: function (index, layero) {
              var iframeWindow = window['layui-layer-iframe' + index]
                , submitID = 'LAY-user-back-submit'
                , submit = layero.find('iframe').contents().find('#' + submitID);

              //监听提交
              iframeWindow.layui.form.on('submit(LAY-user-back-submit)', function (data) {
                var field = data.field; //获取提交的字段

                $.ajax({
                  url: "{:U('Admin/User/edit')}",
                  type: 'post',
                  data: field,
                  success: function (re) {
                    if (re.code == 0) {
                      layer.msg(re.msg, { icon: 6 });
                      table.reload('LAY-user-back-manage'); //数据刷新
                      layer.close(index); //关闭弹层
                    } else {
                      layer.msg(re.msg, { icon: 5 });
                    }
                  }
                });
              });

              submit.trigger('click');
            }
            , success: function (layero, index) {

            }
          })
        }
      });
      $('.layui-btn.layuiadmin-btn-admin').on('click', function () {
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
      });
    });
  </script>
</body>

</html>